package com.rabbiter.hospital.service.serviceImpl;

import com.rabbiter.hospital.mapper.AdminMapper;
import com.rabbiter.hospital.pojo.Admin;
import com.rabbiter.hospital.service.AdminService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;


@Service("AdminService")
public class AdminServiceImpl implements AdminService {

    @Resource
    private AdminMapper adminMapper;

    /**
     * 登录数据校验
     * 根据给定的管理员ID和密码，验证管理员是否可以登录
     * 首先通过ID查询管理员信息，如果找不到则返回null
     * 如果找到管理员，并且管理员的密码与给定的密码匹配，则返回管理员对象
     * 否则返回null
     * @param aId       管理员ID
     * @param aPassword 管理员密码
     * @return 如果验证成功，返回管理员对象；否则返回null
     */
    @Override
    public Admin login(int aId, String aPassword) {
        // 根据ID查询管理员信息
        Admin admin = this.adminMapper.selectById(aId);
        // 如果管理员不存在，则返回null
        if (admin == null) {
            return null;
        } else {
            // 如果管理员存在并且密码匹配，则返回管理员对象
            if ((admin.getAPassword()).equals(aPassword)) {
                return admin;
            }
        }
        // 如果管理员存在但密码不匹配，则返回null
        return null;
    }


}
